
# 列表本质：是一种有序的集合
# 创建列表
# 格式：列表名 = [列表选项1，选项2，……]

# 创建空列表
list1 = []
# 创建带有元素的列表
# 列表中元素的数据类型可以不同
list2 = [10, 20, 30, "string", True, None]

# 列表元素的访问
# 取值：列表名[下标]

print(list2[0])
# 替换：列表名[下标] = 新值
list2[0] = 200
print(list2)

# 注意：下标不要越界

'''
列表操作
'''
# 列表组合
list3 = [10, 20, 30]
list4 = [40, 50, 60]
print(list3, list4)
print(list3 + list4)
# 列表重复
print(list3 * 3)
# in    not in
print(1 in [1, 2, 3])

# 列表截取（切片）
list5 = [10, 20, 30, 40, 50, 60]
print(list5[1:4])

# -1表示的是最后一个元素的下标，-2倒数第二个元素的下标
print(list5[:-1])
print(list5[1:])
'''
二维列表：列表中元素是一维列表
'''
list6 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(list6[1][1])
print(list6)

# 列表方法
# append（object）在列表末尾添加一个数据项
list5.append(70)
print(list5)

# extend（seq) 在列表末尾添加一个列表
list5.extend([80, 90, 100])
print(list5)

# insert（index，obj)
# 将元素插入列表，不会覆盖原元素，原元素按顺序后移

list5.insert(2, 2)
print(list5)

# pop(obj = list[-1])删除元素，默认删除最后一个元素,参数为数组下标
list5.pop(2)
print(list5)

# remove(obj)移除列表中的某个值的第一个匹配项
list5.insert(2, 30)
print(list5)
list5.remove(30)
print(list5)

# clear()清空列表
# list5.clear()
print(list5)
# index()找出列表中某个值第一个匹配项的下标
print(list5.index(30))

# len(obj)返回列表中元素个数,参数为列表名
print(len(list5))
# count(obj)统计某个元素在列表中出现的次数
print(list5.count(10))

# max(list)返回列表中的最大值
print(max(list5))
# min(list)返回列表中的最小值
print(min(list5))

# reverse()倒序列表中的元素
list5.reverse()
print(list5)

# sort()列表排序,默认升序
list5.sort()
print(list5)

# list(seq)转为列表，字符串、集合、元组
print(list("hello"))




